package org.pisces.wechat.service.utils;

import java.util.HashMap;
import java.util.Map;

import org.pisces.wechat.commons.WechatConstants;
import org.pisces.wechat.commons.utils.HttpClientUtils;

import com.alibaba.fastjson.JSONObject;

public class WechatUtils {

	/**
	 * 获取token
	 * @since 1.0 
	 * @return
	 * @throws Exception
	 * <br><b>作者： @author 宋旋 <369178133@></b>
	 * <br>创建时间：2017年11月30日 下午4:17:57
	 */
	public static String getAccessToken(String appid,String secret) throws Exception {
		Map<String,String> map = new HashMap<>();
		if(map.containsKey("accessToken")) {
			return map.get("accessToken");
		}
		
		String url =String.format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s", appid,secret);
		String result = HttpClientUtils.get(url);
		JSONObject json = JSONObject.parseObject(result);
		String accessToken = json.getString("access_token");
		map.put("accessToken", accessToken);
		return accessToken;
	}
	
	
	/**
	 * 获取用户信息
	 * @since 1.0 
	 * @param accessToken
	 * @param openId
	 * @return
	 * <br><b>作者： @author 宋旋 <369178133@></b>
	 * <br>创建时间：2017年11月30日 下午4:21:51
	 * @throws Exception 
	 */
	public static JSONObject getUserInfo(String appid,String secret,String openId) throws Exception {
		String accessToken = getAccessToken(appid, secret);
		String url =String.format("https://api.weixin.qq.com/cgi-bin/user/info?access_token=%s&openid=%s&lang=zh_CN", accessToken,openId);
		String result = HttpClientUtils.get(url);
		JSONObject json = JSONObject.parseObject(result);
		return json;
	}
	
	public static void main(String[] args) {
		try {
		//	System.out.println(getAccessToken(WechatConstants.APP_ID, "32f1b0ab4f521dc741c3844b2e4d79c9"));
			
			
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	
	

}
